<?  /* $Id: shell.php,v 1.1 2005/12/17 12:13:45 alex Exp $ */

if (!mst_is_debug())
{
    exit('Доступно только в режиме отладки');
}

if (strlen(@$_GET['mod'])==0)
{
	exit('Передайте имя модуля через переменной mod в URL');
}
if (@$_GET['level']!=='func' AND @$_GET['level']!=='unit')
{
	exit('Переменная level может принимать значения unit или func');
}


if (!mst_modpath($_GET['mod'],'atest/testinit.php',true))
{
    exit('Нет модуля');
}

// Загружаем функции тестирования
mst_modfileload($_GET['mod'],'atest/testinit.php');

if (function_exists($func = 'atest_mod_'.$_GET['mod']))
{
    $list = $func($_GET['level']);
    foreach ($list as $test_func)
    {
        ?><br><strong>Функция: <?=$test_func?></strong><hr><?
        echo '<pre>';
        $func_start = microtime(true);
		$res = $test_func();
		echo "\nFunction exec time: ".round(microtime(true) - $func_start,6);
		echo '</pre>';
        if ($res)
        {
            $res = '<font color="green">[OK]</font>';
        }else
        {
            $res = '<font color="red">[ERROR]</font>';
        }
        ?><hr>Результат: <?=$res?><br><?
    }
    global $MT_core_timestart;
    if (function_exists('memory_get_usage'))
    {
    	echo "<br />Memory allocate: ".round(memory_get_usage()/(1024*1024),3).'M';
    	echo "<br />Memory peak allocate: ".round(memory_get_peak_usage()/(1024*1024),3).'M';
    }
    echo "<br />Global exec time: ".mst_gettimefromstart(3);
}else{ ?>нету<? }

?>